#pragma once

#include <memory>
#include "rtda/frame.h"
#include "native/registry.h"

namespace jvm {
    namespace lang {

        class StringNative {
        private:
            static const std::string JL_STRING;

        public:
            static void init() {
                native::Registry::registerMethod(JL_STRING, "intern", "()Ljava/lang/String;", &intern);
            }

            static void intern(std::shared_ptr<rtda::Frame> frame);
        };

    } // namespace lang
} // namespace jvm